Template樣板
什麼是Template樣板呢? 我們知道伺服器最終提供給瀏覽器的格式是HTML文件,而Template樣板就是動態產生HTML的方式。
相對的不經程式產生的HTML文件則稱為靜態HTML。
在Rails上用來產生Template樣板的引擎(Template Handler)為 Embedded Ruby(ERB)
像在之前的例子用到的<% %>或是<%= %>都是ERB的標籤,而標籤中包住的部分就是Ruby的程式。
<% %>、<%= %>的差異
<% %>與<%= %>的差別就是<%= %>會印出中間程式執行的結果而<% %>不會
像是以下這段程式碼:
<% @guest.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
會輸出HTML結果的只有<%= msg %>這個標籤。
<%# %>註解
<%# %>這個標籤則是用來註解,例如<%# ahahahaha %>
多行註解
在ERB中多行註解常用以下這個寫法:
<%- output = false -%>
<% if output %>
<%= foo %>
<hr>
<%= bar %>
<% end %>
// 利用控制output的值來決定要不要輸出程式結果